package com.itheima.d7_tcp4;


import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.List;

/*
   目标：完成TCP通信快速入门-服务端开发：实现群聊
 */
public class Server {
    //定义一个集合
    private static List<Socket> onlineList=new ArrayList<>();


    public static void main(String[] args) throws Exception {

        System.out.println("------服务端启用成功---");
        // 1、创建ServerSocket的对象，同时为服务端注册端口。
        ServerSocket client = new ServerSocket(688);

        //主线程死循环 负责接收科幻段链接
        while (true) {
            // 2、使用serverSocket对象，调用一个accept方法，等待客户端的连接请求
            Socket serverSocket = client.accept();
            System.out.println("客户端" + serverSocket.getInetAddress().getHostAddress() + "链接成功");

            //把链接的客户端 添加到集合中
            onlineList.add(serverSocket);

            //线程来处理
            ServerThreadTask task = new ServerThreadTask(serverSocket);
            new Thread(task).start();
        }


//
//        // 3、从socket通信管道中得到一个字节输入流。
//        InputStream is = serverSocket.getInputStream();
//        // 4、把原始的字节输入流包装成高效的输入流
//        BufferedReader netInt = new BufferedReader(new InputStreamReader(is));
//
//
//        while (true) {
//            try {
//                // 5、使用数据输入流读取客户端发送过来的消息
//                String readLine = netInt.readLine();
//                System.out.println(readLine);
//            } catch (IOException e) {
//                System.out.println("离线了");
//                netInt.close();
//                is.close();
//                break;
//            }
//        }
//

  /*      // 6、释放资源
        netInt.close();
     //   is.close();
        accept.close();*/
    }
}













